#include <iostream>
#include <stdio.h>
using std::cout;
using std::endl;
using std::cin;
using std::ostream;



class Date
{
	friend ostream& operator<<(ostream& out, const Date& tmp);
public:

	int GetDay()
	{
		int day[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
		if (_month == 2)
		{
			if ((_year % 4 == 0 && _year % 100 != 0) || (_year % 400 == 0))
				return 29;
			else
				return 28;
		}
		return day[_month - 1];
	}
	Date& operator+=(int day)
	{
		_day += day;
		while (_day > GetDay())
		{
			_day -= GetDay();
			_month += 1;
			if (_month > 12)
			{
				_month = 1;
				_year += 1;
			}
		}
		return *this;
	}
	Date(int year = 100, int month = 1, int day = 0)
		:_year(year),
		_month(month),
		_day(day)
	{}
private:
	int _year;
	int _month;
	int _day;
};

ostream& operator<<(ostream& out, const Date& tmp)
{
	out << tmp._year;
	if (tmp._month / 10 == 0)
		out << "-0" << tmp._month;
	else
		out << "-" << tmp._month;
	if (tmp._day / 10 == 0)
		out << "-0" << tmp._day;
	else
		out << "-" << tmp._day;
	return out;
}

int main()
{
	int num = 0;
	cin >> num;
	while (num--)
	{
		int year = 0;
		int month = 0;
		int day = 0;
		int x = 0;
		cin >> year >> month >> day >> x;
		Date tmp(year, month, day);
		tmp += x;
		cout << tmp << endl;
	}
	return 0;
}



//class Date
//{
//friend ostream& operator<<(ostream& out, const Date& tmp);
//public:
//
//	int GetDay()
//	{
//		int day[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
//		if (_month == 2)
//		{
//			if ((_year % 4 == 0 && _year % 100 != 0) || (_year % 400 == 0))
//				return 29;
//			else
//				return 28;
//		}
//		return day[_month - 1];
//	}
//	Date& operator+=(int day)
//	{
//		_day += day;
//		while (_day > GetDay())
//		{
//			_day -= GetDay();
//			_month += 1;
//			if (_month > 12)
//			{
//				_month = 1;
//				_year += 1;
//			}
//		}
//		return *this;
//	}
//	bool operator>(Date& tmp)
//	{
//		if ((_year > tmp._year)
//			|| (_year == tmp._year && _month > tmp._month)
//			|| (_year == tmp._year && _month == tmp._month && _day > tmp._day))
//			return true;
//		return false;
//	}
//	bool operator==(Date& tmp)
//	{
//		return (*this)._day == tmp._day && (*this)._month == tmp._month && (*this)._year == tmp._year;
//	}
//	Date(int year = 100, int month = 1, int day = )
//		:_year(year),
//		_month(month),
//		_day(day)
//	{}
//private:
//	int _year;
//	int _month;
//	int _day;
//};
//
//ostream& operator<<(ostream& out, const Date& tmp)
//{
//	out << tmp._year << "-" << tmp._month << "-" << tmp._day << endl;
//	return out;
//}
//
//
//int main()
//{
//	int date1 = 0;
//	int date2 = 0;
//	cin >> date1 >> date2;
//	Date d1(date1 / 10000, (date1 / 100) % 100, date1 % 100);
//	Date d2(date2 / 10000, (date2 / 100) % 100, date2 % 100);
//	int result = 1;
//	if (d1 > d2)
//	{
//		while (!(d1 == d2))
//		{
//			d2 += 1;
//			result += 1;
//		}
//	}
//	else
//	{
//		while (!(d1 == d2))
//		{
//			d1 += 1;
//			result += 1;
//		}
//	}
//	cout << result << endl;
//	return 0;
//}

//static int tmp = 1;
//
//class Date
//{
//public:
//	Date(int num = 1)
//		:_a(num)
//	{
//	}
//	void Print()
//	{
//		cout << _a << tmp << endl;
//	}
//private:
//	int _a;
//	
//};
//
//int main()
//{
//	static Date x;
//	x.Print();
//	return 0;
//}


//int main()
//{
//	int year = 0;
//	int month = 0;
//	int day = 0;
//	cin >> year >> month >> day;
//	int mon[12] = { 0,31,59,90,120,151,181,212,243,273,304,334 };
//	if (month > 2)
//	{
//		if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
//		{
//			cout << mon[month - 1] + day + 1 << endl;
//			return 0;
//		}
//	}
//	cout << mon[month - 1] + day;
//	return 0;
//}